import request from "../../utils/request"
// pages/video/video.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tagList: [],//导航标签数据
    navId: "",  //导航当前的标识
    videoList:[], //当前导航下的视频数据列表
    videoId:"",//视频的Id标识
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //获取导航标签列表数据数据
    this.getTagListData();
    //获取视频列表数据
    // this.getVideoList(this.data.navId);
  },
  //获取导航标签列表的数据
  async getTagListData(){
    var res = await request("/video/group/list");
    var tagListData = res.data.slice(0,20);
    // console.log(tagListData);
    // console.log(typeof tagListData[0].id);
    this.setData({
      tagList:tagListData,
      navId:tagListData[0].id
    })
    this.getVideoList(this.data.navId);
  },
//点击切换导航的回调
changeNav(event){
  // console.log(event);
  let navId = event.currentTarget.dataset.id;
  // console.log(navId);
  // console.log(typeof navId);
  //动态获取当前导航下对应的数据
  this.setData({
    navId: navId,
    videoList:[]  //为了切换时不显示上一个标签的视频内容
  })
  //显示正在加载
  wx.showLoading({
    title: '正在加载哦',
  })
  this.getVideoList(navId);

},
//获取视频标签下对应的视频数据
async getVideoList(navId){
  let videoListData = await request('/video/group',{
    id: navId
  });
  //关闭加载中消息框
  wx.hideLoading();
  let index = 0;
  let videoList = videoListData.datas.map(item => {
    item.id = index++;
    return item;
  })
  this.setData({
    videoList
  })
},
//点击搜索视频所触发的函数
handleSearch(){
  wx.navigateTo({
    url: '/pages/search/search',
  })
},
//点击当开始或者继续播放视频时触发的事件,点击视频图片的时候也进行调用
handlePlay(event){
  console.log(event);
  /**
   * 需求：
   * 1.在点击播放的时间中需要找到上一个播放的视频
   * 2. 在播放新视频之前，关闭上一个正在播放的视频
   * 关键：
   * 1.如何找到上一个视频的实例对象
   * 2.如何确认点击的播放的视频和正在播放的视频不是同一个视频
   * 单例模式
   * 1.需要创建多个对象的场景下，通过一个变量接受。始终保持只有一个对象，
   * 2.节省内存空间
   * 
   */
  // 创建 video标签的实例对象
  let vid = event.currentTarget.id;
  //关闭上一个播放的视频（上一个播放的实例对象必须存在）
  //需要判断一个暂停的上一个视频和当前视频是不是同一个，如果是同一个则不执行
  this.vid !== vid && this.videoContext && this.videoContext.stop(); //满足两个条件才能调用stop停掉上一个播放的视频
  
  //更新数据
  this.vid = vid;
  this.setData({
    videoId:vid
  })
  //更新当前的video实例对象，并播放当前的视频
  this.videoContext = wx.createVideoContext(vid);
  this.videoContext.play();
},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})